package com.demo.staticdemo;

/**
 * @Description: Java 中的 static 使用之静态方法
 * 与静态变量一样，我们也可以使用 static 修饰方法，称为静态方法或类方法。
 * @Author: xiangty
 * @Date: 2018-03-20
 */
public class LearnJava2 {

    /**
     * 1.静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员
     * 2.如果希望在静态方法中调用非静态成员变量,可以通过创建类对象,然后通过对象来访问非静态变量
     */

    @SuppressWarnings("static-access")
	public static void main(String[] args) {
        //直接使用类名调用静态方法 (推荐)
        LearnJava2.sayHello();

        //通过对象调用
        LearnJava2 learnJava2 = new LearnJava2();
        learnJava2.sayHello();

        //静态方法不能直接调用非静态方法
//        LearnJava2.tempMethod();

        //通过对象来访问非静态变量
        LearnJava2 tempObject = new LearnJava2();
        tempObject.tempMethod();
    }

    public static void sayHello() {
        System.out.println("静态方法");
    }

    public void tempMethod(){
        System.out.println("非静态方法");
    }

}
